﻿#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "singup.h"
#include "player.h"
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    // 去掉窗口边框和标题栏
    this->setWindowFlags(Qt::FramelessWindowHint);
    // 设置背景颜色和圆角
    this->setStyleSheet("background-color: #35f2ff; border-radius: 20px;");


    set_Head();

}

MainWindow::~MainWindow()
{
    delete ui;
}
void sqlite_Init()
{
    QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("user.db");
    if(!db.open())
    {
        qDebug()<<"数据库打开失败";

    }
    //创建表格
    QString createsql=QString("create table if not exists user(id integer primary key autoincrement,"
                              "username ntext unique not NULL,"
                              "password ntext not NULL)");
    QSqlQuery query;
    if(!query.exec(createsql))
    {
        qDebug()<<"table create error";
    }else
    {
        qDebug()<<"table create success";
    }
}
void MainWindow::set_Head()
{
    // 创建 QSvgRenderer 对象，并加载 SVG 文件
    QSvgRenderer svgRenderer(QStringLiteral(":/Icon/user.svg"));

    // 检查是否成功加载
    if (!svgRenderer.isValid()) {
        qDebug() << "Failed to load SVG file.";
        return;
    }

    // 设置头像显示大小（例如，设置为 100x100 像素）
    QSize avatarSize(100, 100);

    // 创建一个 QPixmap，大小为指定的头像大小
    QPixmap pixmap(avatarSize);
    pixmap.fill(Qt::transparent);  // 确保背景是透明的

    // 使用 QPainter 渲染 SVG 到 QPixmap
    QPainter painter(&pixmap);
    svgRenderer.render(&painter);

    // 将渲染后的 QPixmap 设置为 QLabel 的 pixmap
    ui->Head_img->setPixmap(pixmap);

    // 可选：设置 QLabel 的固定大小
    ui->Head_img->setFixedSize(avatarSize);

    // 可选：设置 QLabel 的对齐方式（如居中对齐）
    ui->Head_img->setAlignment(Qt::AlignCenter);
}


void MainWindow::on_Login_Button_2_clicked()
{
    sqlite_Init();
    QString username=ui->LineAccount_2->text();
    QString password=ui->LinePassword_2->text();

    QString sql=QString("select * from user where username='%1' and password='%2'").arg(username).arg(password);
    QSqlQuery query(sql);
    if(!query.next())
    {
        qDebug()<<"登录失败";
        QMessageBox::information(this,"登录认证","登陆失败，账号或密码错误");
    }else
    {
        qDebug()<<"登录成功";
        this->close();
        Player *p= new Player;
        p->show();
    }
}

void MainWindow::on_Register_Button_2_clicked()
{
    this->close();
    Singup *s=new Singup;
    s->show();
}

void MainWindow::on_pushButton_close_clicked()
{
    close();
}

//鼠标按下
void MainWindow::mousePressEvent(QMouseEvent *event)
{
    last = event->globalPos();
}
//鼠标移动
void MainWindow::mouseMoveEvent(QMouseEvent *event)
{
    int dx = event->globalX() - last.x(); //
    int dy = event->globalY() - last.y();

    last = event->globalPos();
    move(x()+dx, y()+dy);
}

void MainWindow::mouseReleaseEvent(QMouseEvent *event)
{
    int dx = event->globalX() - last.x();
    int dy = event->globalY() - last.y();
    move(x()+dx, y()+dy);
}
